// Implementation of the ClientSocket class

#include "ClientSocket.h"
#include "SocketException.h"


ClientSocket::ClientSocket(std::string host, int port)
{
   if (!Socket::create()){
      throw SocketException ("Error creating client socket.");
   }

   if (!Socket::connect(host, port)){
      throw SocketException("Error binding to port." );
   }

}


const ClientSocket& ClientSocket::operator << (const std::string& s) const
{
   if (!Socket::send(s)){
      throw SocketException("Error writing to socket.");
   }

   return *this;
}


const ClientSocket& ClientSocket::operator >> (std::string& s) const
{
   if (!Socket::recv (s)){
      throw SocketException ( "Could not read from socket." );
   }

   return *this;
}
